<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
</body>
</html>

<script>
/* 
五种基础数据类型、一种复杂数据类型
  基础数据类型：number、string、boolean、undefined、null
    注：typeof null ->  'object'

  一种复杂数据类型：'object'
    对象 {
      key1: value1, 
      key2: value2,
      ...
    }

    数组：[表达式1, 表达式2, ...]




运算符：自增自减运算符
  `++数字变量`，先将变量值+=1，再返回变量值。
  `数字变量++`，先返回变量值，在将变量值+=1。


循环：while、do while、for
  // 案例：循环输出 1~100的值：
  for (var i = 1; i <= 100; i++) {

    // 循环输出 1~100的偶数值，用 `continue` 关键字
    if (i % 2 !== 0) {
      // 即 停止 continue 后面的代码执行，直接开始下一次循环
      continue;
    }

    // 循环输出 1~50 的偶数值
    if(i > 50) {
      // 只要执行 `break`，即 停止整个循环
      break;
    }

    console.log(i);
  }



函数：
- 函数的声明：
  - 声明式函数
    function 函数名(形参) {
      代码块
    }
  - 赋值式函数
    var 函数名 = function (形参) {
      代码块
    }

注：声明式函数 有『预解析』，赋值式函数无 预解析。

- 函数执行：
    函数名(实参);


总结：
  函数的声明：1. 并不会执行函数体内的代码块； 2.形参在声明的时候，并不知道其值是什么。
  函数的执行：1. 执行函数体内的代码块；  2. 实参本质为表达式的返回值，其逻辑为 实参的值赋值给对应位置的形参。

*/


</script>